iT邦幫忙

2022 iThome 鐵人賽

DAY 23
1
Software Development

離開C#新手村的最後試煉系列 第 23

# 試煉23 - dynamic技巧1 通靈之術

  • 分享至 

  • xImage
  •  

開始試煉

這是改編真實故事
某月某日 老闆召喚一顆隕石說
先幫我接 新功能吧對方可以丟資料過來了
於是兩方工程師開始討論起來
對方會用post打API 資料放在body用json格式
這沒問題 然後我要開始要json格式時 得到
還沒決定耶還在討論修改中
然後我就沉默了 心中默默說出
本來不想使用這招的
開始用 dynamic通靈

於是我先把測試用API給他們 跟對方說
我API先給你們 你們決定json好就可以打了

如何接還不知道的class

其實很簡單 就是用dynamic當型別
然後把接到的物件轉json log下來

這是json格式

{
  "id": "M123",
  "status": "OK",
  "type": "Order"
}
[HttpPost]
[Route("Test")]
public IHttpActionResult Post(dynamic request)
{
    _logger.Info("request raw data : \n{@request}", request);
    return Ok(String.Empty);
}

_logger 是Nlog然後 {@request} 是NLog的特殊寫法 會直接物件轉json
Log內容會是
request raw data :
{"id":"M123", "status":"OK", "type":"Order"}

這樣就可以他們一邊測試 我一邊開始偷跑
我又成功在隕石攻擊下 存活下來

結束試煉

這個技巧送給將離開新手村的讀者,希望你們永遠不會有在心中說出
本來不想使用這招的那一天


上一篇
# 試煉22 - 如何用 擴充方法 來打造可讀性程式
下一篇
# 試煉24 - dynamic技巧2 無中生有
系列文
離開C#新手村的最後試煉30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言